﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace Mapping.Seguridad
{
    public  class MappingGrupos
    {
        public static List<Entidades.Seguridad.Grupo> ConsultarGrupos()
        {
            SqlCommand cmdGrupos = new SqlCommand();
            cmdGrupos.CommandText = "sp_ConsultarGrupos";
            cmdGrupos.CommandType = System.Data.CommandType.StoredProcedure;
            cmdGrupos.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
            SqlDataReader drGrupos = cmdGrupos.ExecuteReader();
            List<Entidades.Seguridad.Grupo> ColGrupos = new List<Entidades.Seguridad.Grupo>();
            while (drGrupos.Read())
            {
                Entidades.Seguridad.Grupo oGrupo = new Entidades.Seguridad.Grupo();
                oGrupo.IdGrupo = (drGrupos[0]).ToString();
                oGrupo.Descripcion = drGrupos[1].ToString();
                oGrupo.Estado = Convert.ToByte(drGrupos[2]);
                ColGrupos.Add(oGrupo);
            }
            
            return ColGrupos;
        }

        public static  bool AgregarGrupo(Entidades.Seguridad.Grupo oGrupo)
        {
            SqlCommand cmdGrupo = new SqlCommand();
            cmdGrupo.CommandText = "sp_AgregarGrupos";
            cmdGrupo.CommandType = System.Data.CommandType.StoredProcedure;
            cmdGrupo.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
            cmdGrupo.Parameters.Add("@IdGrupo", System.Data.SqlDbType.VarChar, 15).Value = oGrupo.IdGrupo;
            cmdGrupo.Parameters.Add("@Descripcion", System.Data.SqlDbType.VarChar, 50).Value = oGrupo.Descripcion;
            cmdGrupo.Parameters.Add("@Estado", System.Data.SqlDbType.Bit).Value = oGrupo.Estado;
            cmdGrupo.ExecuteNonQuery();
            return true;
        }

        public static bool EliminarGrupo(Entidades.Seguridad.Grupo oGrupo)
        {
            SqlCommand cmdGrupo = new SqlCommand();
            cmdGrupo.CommandText = "sp_EliminarGrupo";
            cmdGrupo.CommandType = System.Data.CommandType.StoredProcedure;
            cmdGrupo.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
            cmdGrupo.Parameters.Add("@IdGrupo", System.Data.SqlDbType.VarChar,15).Value = oGrupo.IdGrupo;
            cmdGrupo.ExecuteNonQuery();
            return true;
        }


        public static bool ModificarGrupo(Entidades.Seguridad.Grupo oGrupo)
        {
            SqlCommand cmdGrupo = new SqlCommand();
            cmdGrupo.CommandText = "sp_ModificarGrupo";
            cmdGrupo.CommandType = System.Data.CommandType.StoredProcedure;
            cmdGrupo.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
            cmdGrupo.Parameters.Add("@IdGrupo", System.Data.SqlDbType.VarChar, 15).Value = oGrupo.IdGrupo;
            cmdGrupo.Parameters.Add("@Descripcion", System.Data.SqlDbType.VarChar, 50).Value = oGrupo.Descripcion;
            cmdGrupo.Parameters.Add("@Estado", System.Data.SqlDbType.Bit).Value = oGrupo.Estado;
            cmdGrupo.ExecuteNonQuery();
            return true;
 
        }

    }
}
